/**
*Clase controladora que contiene los objetos de todas las otras clases controladoras
*y permite acceder a sus métodos.
*@autor T-Complement
*@version 2
*@fecha junio 16 de 2009
*/

package iuTaxSimula;

import mnTaxSimula.CentralComunicaciones;
import mnTaxSimula.Simulacion;
import mnTaxSimula.Usuario;


public class ControlTotal {

    private CentralComunicaciones centralComunicaciones;
    private static Simulacion simulacion;
    private ConfigurarSimulacion configurarSimulacion;
    private IniciarSimulacion iniciarSimulacion;
    private GraficarPantallaOperadora graficarPantallaOperadora;
    private RecibirLlamada recibirLlamada;
    private AsignarServicio asignarServicio;

    public ControlTotal() {
        centralComunicaciones = new CentralComunicaciones();
        simulacion = new Simulacion();
    }
      /**
      * Este metodo permite instanciar un objeto de la clase controladora
      * ConfigurarSimulacion
      * @pre Debe llamarse desde la clase PantallaInicio
      * @pos Se ha instanciado el objeto y se ha llamado a uno de sus metodos
      */
      public void configurar() {
           configurarSimulacion = new ConfigurarSimulacion(simulacion);
           configurarSimulacion.configurarSimulacion();
      }

     /**
      * Este metodo permite instanciar un objeto de la clase controladora
      * IniciarSimulacion
      * @pre Debe llamarse desde la clase PantallaInicio
      * @pos Se ha instanciado el objeto y se ha llamado a uno de sus metodos
      */
    public void iniciar() {
        iniciarSimulacion = new IniciarSimulacion(simulacion, centralComunicaciones);
        iniciarSimulacion.iniciarSimulacion();
    }

    /**
      * Este metodo permite instanciar un objeto de la clase controladora
      * GraficarPantallaOperadora
      * @pre Debe llamarse desde la clase PantallaInicio
      * @pos Se ha instanciado el objeto y se ha llamado a uno de sus metodos
      */
    public void graficar() {
        graficarPantallaOperadora = new GraficarPantallaOperadora(simulacion, centralComunicaciones);
        graficarPantallaOperadora.graficarPantallaOperadora();
    }

     /**
      * Este metodo permite instanciar un objeto de la clase controladora
      * Recibir Llamada
      * @pre Debe llamarse desde la clase PantallaOperadora
      * @pos Se ha instanciado el objeto y se ha llamado a uno de sus metodos
      */
    /*public void recibirLlamada() {
        Usuario usuario;
        recibirLlamada = new RecibirLlamada(centralComunicaciones);
        usuario = recibirLlamada.recibirLlamada();
        if(recibirLlamada.leerLlamada() == 1)
        {
         //******** asignarServicio = new AsignarServicio(simulacion, centralComunicaciones, usuario);
         //******** asignarServicio.asignarServicio();
        }
    }*/
}